#pragma once


//-----------------------------------------------------------------------------
//	render targets clearing flags
//-----------------------------------------------------------------------------
enum EClearBufferFlags
{
	eClearFlag_Target		= 0x01,
	eClearFlag_Depth		= 0x02,
	eClearFlag_Stencil	= 0x04,

	eClearFlag_All = eClearFlag_Target | eClearFlag_Depth | eClearFlag_Stencil
};

//-----------------------------------------------------------------------------
//	vertex declarations
//-----------------------------------------------------------------------------
struct S2DVertex
{
	Vec2 pos;
	Vec2 uv;
	Color color;
};

//-----------------------------------------------------------------------------
//	vertex buffers primitives
//-----------------------------------------------------------------------------
enum EPrimitiveType
{
	ePrimType_TriangleList,
	ePrimType_TriangleStrip
};

//-----------------------------------------------------------------------------
//	texture types
//-----------------------------------------------------------------------------
typedef uint16 TextureId;

enum ETextureFormat
{
	eTexFormat_A8R8G8B8,
	eTexFormat_L8
};